package com.xzgj;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableScheduling;
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableScheduling//启动定时任务
@MapperScan("com.xzgj.fmmall.dao")
/**
 * MVVM
 * 项目结构经历的三个阶段：
 *
 * 1.后端为主的MVC阶段：我们就可以理解为单体架构，流程控制是由后端控制器来完成
 * 2.前端为主的MVC阶段：前后端分离开发，后端只负责接收响应请求
 * 3。前端为主的MVVM阶段：前端请求后端接口，后端返回数据，前端接收数据，并将接收的数据“VM”，HTML从vm取值
 *
 * M：model，数据模型，指的是后端接口返回的数据
 * V：view，视图
 * VM：ViweModel，视图模型，数据模型与视图之间的桥梁，
 * 后端返回的model转换前端所需的vm，视图层可以直接从vm中提取数据
 *
 * 项目的部署：就是将开发-测试完成的项目运行在生产环境中
 * 1.开发环境：（windows）
 *   应用服务器（Tomcat-windows）
 *   数据库服务器（MYSQL-Linux/windows）
 * 2.测试环境：（模拟的生成环境）
 *   应用服务器（Tomcat-Linux）
 *   数据库服务器（Tomcat-Linux）
 *
 * 3.生成环境：（需要进行保护的，不能被破坏的）
 *   应用服务器（Tomcat-Linux）
 *   数据库服务器（Tomcat-Linux）
 *
 *   多种的环境部署是为了实现数据的隔离，对数据进行保护：
 *   开发环境：windows（有非常便利的可视化操作系统）
 *   生产环境：Linux（开源免费、系统开销小，安全性高）
 *
 *  一、 Linux介绍：
 *   学习背景：Java项目生产环境绝大多数都是基于Linux进行搭建的
 *   1.Linux和windows一样，是一个操作系统（就如同android和ios手机系统一样）
 *   2.Linux是一套免费使用，可以自由传播的类unix操作系统
 *   3.Linux可以支持多用户、多任务、支持多线程及多CPU的操作系统
 *   4.Linux通常作为专用服务器系统（应用服务器、数据库服务器）使用--Java
 *
 *   二、系统特定
 *   1.系统稳定性比windows要好，宕机概率比较低
 *   2.完全开源，用户可以进行自由的系统裁剪，（Java开发系统裁剪不用关注），灵活性高、使用成本低
 *   3.核心防火墙组件性能高，配置简单，安全性高
 *   4.提供了纯命令行系统，也可以带有界面，进一步减少系统本身的开销
 *   5.使用非常广泛，技术社区比较发达，学习资源也很丰富
 *   综上，Linux比windows更适合用于服务器系统
 *
 *   三、系统版本
 *   RedHat-该公司发行的Linux版本：效率高、扩展性好、高可靠性-政府部门使用
 *   SUSE-该公司（德国）发行的版本，国内比较少
 *   红旗Linux-国企使用
 *   （当前比较流行的有）
 *   CentOS-市场份额大-基于RedHat源码编译，完全开源-----性能
 *
 *   Ubuntu-乌班图-基于DEbian的发行，有很对社区进行维护的非官方版本，商业可用性不高，提供了优化后的桌面系统---桌面
 *
 *   四、虚拟机
 *   如何获取一个Linux操作系统？
 *   1.基于硬件安装Linux（双系统）
 *   2.安装虚拟机，基于虚拟机安装Linux系统
 *   3.租用云主机（Linux）
 *
 *   五、虚拟机介绍
 *   使用软件模拟硬件环境--从当前的计算机资源中分离出一部分可独立运行的资源
 *   1.下载安装vmware：https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
 *   1.1 安装后重启，输入激活码 YC592-8VF55-M81AZ-FWW5T-WVRV0
 *   2.使用vmware创建虚拟机
 *   3.给虚拟机装系统（CentOS）
 *   4.运行虚拟机
 *
 *  六、瑞吉外卖 学习地址：https://www.bilibili.com/video/BV13a411q753?p=84&spm_id_from=pageDriver&vd_source=d69ca20f7b69d7e42fbf9506d51d07bf
 *  七、尚医通 学习连接：https://www.bilibili.com/video/BV1Rc411e71W/?spm_id_from=333.337.search-card.all.click&vd_source=d69ca20f7b69d7e42fbf9506d51d07bf
 */
public class ApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }

}
